Newer
Older
pixi.js / examples / alien benchmark / js / pixi.min.js
@Mat Groves Mat Groves on 21 Jan 2013 42 KB Alpha version
window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(c){window.setTimeout(c,1E3/60)}}();var AjaxRequest=function(){var c=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(window.ActiveXObject)for(var d=0;d<c.length;d++)try{return new ActiveXObject(c[d])}catch(f){}else return window.XMLHttpRequest?new XMLHttpRequest:!1};var PIXI=PIXI||{};PIXI.EventTarget=function(){var c={};this.addEventListener=function(d,f){void 0===c[d]&&(c[d]=[]);-1===c[d].indexOf(f)&&c[d].push(f)};this.dispatchEvent=function(d){for(var f in c[d.type])c[d.type][f](d)};this.removeEventListener=function(d,f){var g=c[d].indexOf(f);-1!==g&&c[d].splice(g,1)}};(function(c,d){"object"===typeof exports?module.exports=d(global):"function"===typeof define&&define.amd?define([],function(){return d(c)}):d(c)})(this,function(c){function d(a){return l=a}function f(){return l="undefined"!==typeof Float32Array?Float32Array:Array}var g={};if("undefined"!=typeof Float32Array){var m=new Float32Array(1),p=new Int32Array(m.buffer);g.invsqrt=function(a){m[0]=a;p[0]=1597463007-(p[0]>>1);var b=m[0];return b*(1.5-0.5*a*b*b)}}else g.invsqrt=function(a){return 1/Math.sqrt(a)};
var l=null;f();var j={create:function(a){var b=new l(3);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2]):b[0]=b[1]=b[2]=0;return b},createFrom:function(a,b,e){var c=new l(3);c[0]=a;c[1]=b;c[2]=e;return c},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b},equal:function(a,b){return a===b||1E-6>Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])&&1E-6>Math.abs(a[2]-b[2])},add:function(a,b,e){if(!e||a===e)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a;e[0]=a[0]+b[0];e[1]=a[1]+b[1];e[2]=a[2]+b[2];return e},subtract:function(a,
b,e){if(!e||a===e)return a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a;e[0]=a[0]-b[0];e[1]=a[1]-b[1];e[2]=a[2]-b[2];return e},multiply:function(a,b,e){if(!e||a===e)return a[0]*=b[0],a[1]*=b[1],a[2]*=b[2],a;e[0]=a[0]*b[0];e[1]=a[1]*b[1];e[2]=a[2]*b[2];return e},negate:function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b},scale:function(a,b,e){if(!e||a===e)return a[0]*=b,a[1]*=b,a[2]*=b,a;e[0]=a[0]*b;e[1]=a[1]*b;e[2]=a[2]*b;return e},normalize:function(a,b){b||(b=a);var e=a[0],c=a[1],d=a[2],k=Math.sqrt(e*
e+c*c+d*d);if(!k)return b[0]=0,b[1]=0,b[2]=0,b;if(1===k)return b[0]=e,b[1]=c,b[2]=d,b;k=1/k;b[0]=e*k;b[1]=c*k;b[2]=d*k;return b},cross:function(a,b,e){e||(e=a);var c=a[0],d=a[1];a=a[2];var k=b[0],h=b[1];b=b[2];e[0]=d*b-a*h;e[1]=a*k-c*b;e[2]=c*h-d*k;return e},length:function(a){var b=a[0],e=a[1];a=a[2];return Math.sqrt(b*b+e*e+a*a)},squaredLength:function(a){var b=a[0],e=a[1];a=a[2];return b*b+e*e+a*a},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]},direction:function(a,b,e){e||(e=a);var c=
a[0]-b[0],d=a[1]-b[1];a=a[2]-b[2];b=Math.sqrt(c*c+d*d+a*a);if(!b)return e[0]=0,e[1]=0,e[2]=0,e;b=1/b;e[0]=c*b;e[1]=d*b;e[2]=a*b;return e},lerp:function(a,b,e,c){c||(c=a);c[0]=a[0]+e*(b[0]-a[0]);c[1]=a[1]+e*(b[1]-a[1]);c[2]=a[2]+e*(b[2]-a[2]);return c},dist:function(a,b){var e=b[0]-a[0],c=b[1]-a[1],d=b[2]-a[2];return Math.sqrt(e*e+c*c+d*d)}},x=null,n=new l(4);j.unproject=function(a,b,e,c,d){d||(d=a);x||(x=y.create());var k=x;n[0]=2*(a[0]-c[0])/c[2]-1;n[1]=2*(a[1]-c[1])/c[3]-1;n[2]=2*a[2]-1;n[3]=1;
y.multiply(e,b,k);if(!y.inverse(k))return null;y.multiplyVec4(k,n);if(0===n[3])return null;d[0]=n[0]/n[3];d[1]=n[1]/n[3];d[2]=n[2]/n[3];return d};var z=j.createFrom(1,0,0),A=j.createFrom(0,1,0),H=j.createFrom(0,0,1),C=j.create();j.rotationTo=function(a,b,e){e||(e=s.create());var c=j.dot(a,b);if(1<=c)s.set(O,e);else if(-0.999999>c)j.cross(z,a,C),1E-6>j.length(C)&&j.cross(A,a,C),1E-6>j.length(C)&&j.cross(H,a,C),j.normalize(C),s.fromAngleAxis(Math.PI,C,e);else{var c=Math.sqrt(2*(1+c)),d=1/c;j.cross(a,
b,C);e[0]=C[0]*d;e[1]=C[1]*d;e[2]=C[2]*d;e[3]=0.5*c;s.normalize(e)}1<e[3]?e[3]=1:-1>e[3]&&(e[3]=-1);return e};j.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+"]"};var F={create:function(a){var b=new l(9);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8]):b[0]=b[1]=b[2]=b[3]=b[4]=b[5]=b[6]=b[7]=b[8]=0;return b},createFrom:function(a,b,e,c,d,k,h,E,K){var q=new l(9);q[0]=a;q[1]=b;q[2]=e;q[3]=c;q[4]=d;q[5]=k;q[6]=h;q[7]=E;q[8]=K;return q},determinant:function(a){var b=
a[3],e=a[4],c=a[5],d=a[6],k=a[7],h=a[8];return a[0]*(h*e-c*k)+a[1]*(-h*b+c*d)+a[2]*(k*b-e*d)},inverse:function(a,b){var e=a[0],c=a[1],d=a[2],k=a[3],h=a[4],E=a[5],K=a[6],q=a[7],f=a[8],g=f*h-E*q,j=-f*k+E*K,J=q*k-h*K,r=e*g+c*j+d*J;if(!r)return null;r=1/r;b||(b=F.create());b[0]=g*r;b[1]=(-f*c+d*q)*r;b[2]=(E*c-d*h)*r;b[3]=j*r;b[4]=(f*e-d*K)*r;b[5]=(-E*e+d*k)*r;b[6]=J*r;b[7]=(-q*e+c*K)*r;b[8]=(h*e-c*k)*r;return b},multiply:function(a,b,e){e||(e=a);var c=a[0],d=a[1],k=a[2],h=a[3],E=a[4],f=a[5],q=a[6],g=
a[7];a=a[8];var u=b[0],j=b[1],J=b[2],r=b[3],l=b[4],t=b[5],m=b[6],p=b[7];b=b[8];e[0]=u*c+j*h+J*q;e[1]=u*d+j*E+J*g;e[2]=u*k+j*f+J*a;e[3]=r*c+l*h+t*q;e[4]=r*d+l*E+t*g;e[5]=r*k+l*f+t*a;e[6]=m*c+p*h+b*q;e[7]=m*d+p*E+b*g;e[8]=m*k+p*f+b*a;return e},multiplyVec2:function(a,b,e){e||(e=b);var c=b[0];b=b[1];e[0]=c*a[0]+b*a[3]+a[6];e[1]=c*a[1]+b*a[4]+a[7];return e},multiplyVec3:function(a,b,e){e||(e=b);var c=b[0],d=b[1];b=b[2];e[0]=c*a[0]+d*a[3]+b*a[6];e[1]=c*a[1]+d*a[4]+b*a[7];e[2]=c*a[2]+d*a[5]+b*a[8];return e},
set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b},equal:function(a,b){return a===b||1E-6>Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])&&1E-6>Math.abs(a[2]-b[2])&&1E-6>Math.abs(a[3]-b[3])&&1E-6>Math.abs(a[4]-b[4])&&1E-6>Math.abs(a[5]-b[5])&&1E-6>Math.abs(a[6]-b[6])&&1E-6>Math.abs(a[7]-b[7])&&1E-6>Math.abs(a[8]-b[8])},identity:function(a){a||(a=F.create());a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a},transpose:function(a,
b){if(!b||a===b){var e=a[1],c=a[2],d=a[5];a[1]=a[3];a[2]=a[6];a[3]=e;a[5]=a[7];a[6]=c;a[7]=d;return a}b[0]=a[0];b[1]=a[3];b[2]=a[6];b[3]=a[1];b[4]=a[4];b[5]=a[7];b[6]=a[2];b[7]=a[5];b[8]=a[8];return b},toMat4:function(a,b){b||(b=y.create());b[15]=1;b[14]=0;b[13]=0;b[12]=0;b[11]=0;b[10]=a[8];b[9]=a[7];b[8]=a[6];b[7]=0;b[6]=a[5];b[5]=a[4];b[4]=a[3];b[3]=0;b[2]=a[2];b[1]=a[1];b[0]=a[0];return b},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+
a[8]+"]"}},y={create:function(a){var b=new l(16);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);return b},createFrom:function(a,b,e,c,d,k,h,E,f,q,g,u,j,J,r,m){var t=new l(16);t[0]=a;t[1]=b;t[2]=e;t[3]=c;t[4]=d;t[5]=k;t[6]=h;t[7]=E;t[8]=f;t[9]=q;t[10]=g;t[11]=u;t[12]=j;t[13]=J;t[14]=r;t[15]=m;return t},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];
b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b},equal:function(a,b){return a===b||1E-6>Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])&&1E-6>Math.abs(a[2]-b[2])&&1E-6>Math.abs(a[3]-b[3])&&1E-6>Math.abs(a[4]-b[4])&&1E-6>Math.abs(a[5]-b[5])&&1E-6>Math.abs(a[6]-b[6])&&1E-6>Math.abs(a[7]-b[7])&&1E-6>Math.abs(a[8]-b[8])&&1E-6>Math.abs(a[9]-b[9])&&1E-6>Math.abs(a[10]-b[10])&&1E-6>Math.abs(a[11]-b[11])&&1E-6>Math.abs(a[12]-
b[12])&&1E-6>Math.abs(a[13]-b[13])&&1E-6>Math.abs(a[14]-b[14])&&1E-6>Math.abs(a[15]-b[15])},identity:function(a){a||(a=y.create());a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a},transpose:function(a,b){if(!b||a===b){var e=a[1],c=a[2],d=a[3],k=a[6],h=a[7],E=a[11];a[1]=a[4];a[2]=a[8];a[3]=a[12];a[4]=e;a[6]=a[9];a[7]=a[13];a[8]=c;a[9]=k;a[11]=a[14];a[12]=d;a[13]=h;a[14]=E;return a}b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];
b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];return b},determinant:function(a){var b=a[0],e=a[1],c=a[2],d=a[3],k=a[4],h=a[5],E=a[6],f=a[7],g=a[8],I=a[9],u=a[10],j=a[11],l=a[12],r=a[13],m=a[14];a=a[15];return l*I*E*d-g*r*E*d-l*h*u*d+k*r*u*d+g*h*m*d-k*I*m*d-l*I*c*f+g*r*c*f+l*e*u*f-b*r*u*f-g*e*m*f+b*I*m*f+l*h*c*j-k*r*c*j-l*e*E*j+b*r*E*j+k*e*m*j-b*h*m*j-g*h*c*a+k*I*c*a+g*e*E*a-b*I*E*a-k*e*u*a+b*h*u*a},inverse:function(a,
b){b||(b=a);var e=a[0],c=a[1],d=a[2],k=a[3],h=a[4],f=a[5],g=a[6],q=a[7],I=a[8],u=a[9],j=a[10],l=a[11],r=a[12],m=a[13],t=a[14],p=a[15],s=e*f-c*h,n=e*g-d*h,v=e*q-k*h,w=c*g-d*f,x=c*q-k*f,y=d*q-k*g,z=I*m-u*r,A=I*t-j*r,C=I*p-l*r,D=u*t-j*m,F=u*p-l*m,H=j*p-l*t,G=s*H-n*F+v*D+w*C-x*A+y*z;if(!G)return null;G=1/G;b[0]=(f*H-g*F+q*D)*G;b[1]=(-c*H+d*F-k*D)*G;b[2]=(m*y-t*x+p*w)*G;b[3]=(-u*y+j*x-l*w)*G;b[4]=(-h*H+g*C-q*A)*G;b[5]=(e*H-d*C+k*A)*G;b[6]=(-r*y+t*v-p*n)*G;b[7]=(I*y-j*v+l*n)*G;b[8]=(h*F-f*C+q*z)*G;b[9]=
(-e*F+c*C-k*z)*G;b[10]=(r*x-m*v+p*s)*G;b[11]=(-I*x+u*v-l*s)*G;b[12]=(-h*D+f*A-g*z)*G;b[13]=(e*D-c*A+d*z)*G;b[14]=(-r*w+m*n-t*s)*G;b[15]=(I*w-u*n+j*s)*G;return b},toRotationMat:function(a,b){b||(b=y.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b},toMat3:function(a,b){b||(b=F.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];
return b},toInverseMat3:function(a,b){var e=a[0],c=a[1],d=a[2],k=a[4],h=a[5],f=a[6],g=a[8],q=a[9],j=a[10],u=j*h-f*q,l=-j*k+f*g,m=q*k-h*g,r=e*u+c*l+d*m;if(!r)return null;r=1/r;b||(b=F.create());b[0]=u*r;b[1]=(-j*c+d*q)*r;b[2]=(f*c-d*h)*r;b[3]=l*r;b[4]=(j*e-d*g)*r;b[5]=(-f*e+d*k)*r;b[6]=m*r;b[7]=(-q*e+c*g)*r;b[8]=(h*e-c*k)*r;return b},multiply:function(a,b,e){e||(e=a);var c=a[0],d=a[1],k=a[2],h=a[3],f=a[4],g=a[5],q=a[6],j=a[7],u=a[8],l=a[9],m=a[10],r=a[11],p=a[12],t=a[13],s=a[14];a=a[15];var n=b[0],
B=b[1],v=b[2],w=b[3];e[0]=n*c+B*f+v*u+w*p;e[1]=n*d+B*g+v*l+w*t;e[2]=n*k+B*q+v*m+w*s;e[3]=n*h+B*j+v*r+w*a;n=b[4];B=b[5];v=b[6];w=b[7];e[4]=n*c+B*f+v*u+w*p;e[5]=n*d+B*g+v*l+w*t;e[6]=n*k+B*q+v*m+w*s;e[7]=n*h+B*j+v*r+w*a;n=b[8];B=b[9];v=b[10];w=b[11];e[8]=n*c+B*f+v*u+w*p;e[9]=n*d+B*g+v*l+w*t;e[10]=n*k+B*q+v*m+w*s;e[11]=n*h+B*j+v*r+w*a;n=b[12];B=b[13];v=b[14];w=b[15];e[12]=n*c+B*f+v*u+w*p;e[13]=n*d+B*g+v*l+w*t;e[14]=n*k+B*q+v*m+w*s;e[15]=n*h+B*j+v*r+w*a;return e},multiplyVec3:function(a,b,e){e||(e=b);
var c=b[0],d=b[1];b=b[2];e[0]=a[0]*c+a[4]*d+a[8]*b+a[12];e[1]=a[1]*c+a[5]*d+a[9]*b+a[13];e[2]=a[2]*c+a[6]*d+a[10]*b+a[14];return e},multiplyVec4:function(a,b,e){e||(e=b);var c=b[0],d=b[1],k=b[2];b=b[3];e[0]=a[0]*c+a[4]*d+a[8]*k+a[12]*b;e[1]=a[1]*c+a[5]*d+a[9]*k+a[13]*b;e[2]=a[2]*c+a[6]*d+a[10]*k+a[14]*b;e[3]=a[3]*c+a[7]*d+a[11]*k+a[15]*b;return e},translate:function(a,b,e){var c=b[0],d=b[1];b=b[2];var k,h,f,g,q,j,u,l,m,n,p,s;if(!e||a===e)return a[12]=a[0]*c+a[4]*d+a[8]*b+a[12],a[13]=a[1]*c+a[5]*d+
a[9]*b+a[13],a[14]=a[2]*c+a[6]*d+a[10]*b+a[14],a[15]=a[3]*c+a[7]*d+a[11]*b+a[15],a;k=a[0];h=a[1];f=a[2];g=a[3];q=a[4];j=a[5];u=a[6];l=a[7];m=a[8];n=a[9];p=a[10];s=a[11];e[0]=k;e[1]=h;e[2]=f;e[3]=g;e[4]=q;e[5]=j;e[6]=u;e[7]=l;e[8]=m;e[9]=n;e[10]=p;e[11]=s;e[12]=k*c+q*d+m*b+a[12];e[13]=h*c+j*d+n*b+a[13];e[14]=f*c+u*d+p*b+a[14];e[15]=g*c+l*d+s*b+a[15];return e},scale:function(a,b,e){var c=b[0],d=b[1];b=b[2];if(!e||a===e)return a[0]*=c,a[1]*=c,a[2]*=c,a[3]*=c,a[4]*=d,a[5]*=d,a[6]*=d,a[7]*=d,a[8]*=b,a[9]*=
b,a[10]*=b,a[11]*=b,a;e[0]=a[0]*c;e[1]=a[1]*c;e[2]=a[2]*c;e[3]=a[3]*c;e[4]=a[4]*d;e[5]=a[5]*d;e[6]=a[6]*d;e[7]=a[7]*d;e[8]=a[8]*b;e[9]=a[9]*b;e[10]=a[10]*b;e[11]=a[11]*b;e[12]=a[12];e[13]=a[13];e[14]=a[14];e[15]=a[15];return e},rotate:function(a,b,e,c){var d=e[0],k=e[1];e=e[2];var h=Math.sqrt(d*d+k*k+e*e),f,g,q,j,l,m,n,r,p,s,x,y,B,v,w,z,A,C,D,F;if(!h)return null;1!==h&&(h=1/h,d*=h,k*=h,e*=h);f=Math.sin(b);g=Math.cos(b);q=1-g;b=a[0];h=a[1];j=a[2];l=a[3];m=a[4];n=a[5];r=a[6];p=a[7];s=a[8];x=a[9];y=
a[10];B=a[11];v=d*d*q+g;w=k*d*q+e*f;z=e*d*q-k*f;A=d*k*q-e*f;C=k*k*q+g;D=e*k*q+d*f;F=d*e*q+k*f;d=k*e*q-d*f;k=e*e*q+g;c?a!==c&&(c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=b*v+m*w+s*z;c[1]=h*v+n*w+x*z;c[2]=j*v+r*w+y*z;c[3]=l*v+p*w+B*z;c[4]=b*A+m*C+s*D;c[5]=h*A+n*C+x*D;c[6]=j*A+r*C+y*D;c[7]=l*A+p*C+B*D;c[8]=b*F+m*d+s*k;c[9]=h*F+n*d+x*k;c[10]=j*F+r*d+y*k;c[11]=l*F+p*d+B*k;return c},rotateX:function(a,b,e){var c=Math.sin(b);b=Math.cos(b);var d=a[4],k=a[5],h=a[6],f=a[7],g=a[8],q=a[9],j=a[10],
l=a[11];e?a!==e&&(e[0]=a[0],e[1]=a[1],e[2]=a[2],e[3]=a[3],e[12]=a[12],e[13]=a[13],e[14]=a[14],e[15]=a[15]):e=a;e[4]=d*b+g*c;e[5]=k*b+q*c;e[6]=h*b+j*c;e[7]=f*b+l*c;e[8]=d*-c+g*b;e[9]=k*-c+q*b;e[10]=h*-c+j*b;e[11]=f*-c+l*b;return e},rotateY:function(a,b,e){var c=Math.sin(b);b=Math.cos(b);var d=a[0],k=a[1],h=a[2],f=a[3],g=a[8],j=a[9],l=a[10],m=a[11];e?a!==e&&(e[4]=a[4],e[5]=a[5],e[6]=a[6],e[7]=a[7],e[12]=a[12],e[13]=a[13],e[14]=a[14],e[15]=a[15]):e=a;e[0]=d*b+g*-c;e[1]=k*b+j*-c;e[2]=h*b+l*-c;e[3]=f*
b+m*-c;e[8]=d*c+g*b;e[9]=k*c+j*b;e[10]=h*c+l*b;e[11]=f*c+m*b;return e},rotateZ:function(a,b,e){var c=Math.sin(b);b=Math.cos(b);var d=a[0],k=a[1],h=a[2],f=a[3],g=a[4],j=a[5],l=a[6],m=a[7];e?a!==e&&(e[8]=a[8],e[9]=a[9],e[10]=a[10],e[11]=a[11],e[12]=a[12],e[13]=a[13],e[14]=a[14],e[15]=a[15]):e=a;e[0]=d*b+g*c;e[1]=k*b+j*c;e[2]=h*b+l*c;e[3]=f*b+m*c;e[4]=d*-c+g*b;e[5]=k*-c+j*b;e[6]=h*-c+l*b;e[7]=f*-c+m*b;return e},frustum:function(a,b,e,c,d,k,h){h||(h=y.create());var f=b-a,g=c-e,j=k-d;h[0]=2*d/f;h[1]=0;
h[2]=0;h[3]=0;h[4]=0;h[5]=2*d/g;h[6]=0;h[7]=0;h[8]=(b+a)/f;h[9]=(c+e)/g;h[10]=-(k+d)/j;h[11]=-1;h[12]=0;h[13]=0;h[14]=-(2*k*d)/j;h[15]=0;return h},perspective:function(a,b,e,c,d){a=e*Math.tan(a*Math.PI/360);b*=a;return y.frustum(-b,b,-a,a,e,c,d)},ortho:function(a,b,e,c,d,k,h){h||(h=y.create());var f=b-a,g=c-e,j=k-d;h[0]=2/f;h[1]=0;h[2]=0;h[3]=0;h[4]=0;h[5]=2/g;h[6]=0;h[7]=0;h[8]=0;h[9]=0;h[10]=-2/j;h[11]=0;h[12]=-(a+b)/f;h[13]=-(c+e)/g;h[14]=-(k+d)/j;h[15]=1;return h},lookAt:function(a,b,e,c){c||
(c=y.create());var d,k,h,f,g,j,l,m,n=a[0],p=a[1];a=a[2];h=e[0];f=e[1];k=e[2];l=b[0];e=b[1];d=b[2];if(n===l&&p===e&&a===d)return y.identity(c);b=n-l;e=p-e;l=a-d;m=1/Math.sqrt(b*b+e*e+l*l);b*=m;e*=m;l*=m;d=f*l-k*e;k=k*b-h*l;h=h*e-f*b;(m=Math.sqrt(d*d+k*k+h*h))?(m=1/m,d*=m,k*=m,h*=m):h=k=d=0;f=e*h-l*k;g=l*d-b*h;j=b*k-e*d;(m=Math.sqrt(f*f+g*g+j*j))?(m=1/m,f*=m,g*=m,j*=m):j=g=f=0;c[0]=d;c[1]=f;c[2]=b;c[3]=0;c[4]=k;c[5]=g;c[6]=e;c[7]=0;c[8]=h;c[9]=j;c[10]=l;c[11]=0;c[12]=-(d*n+k*p+h*a);c[13]=-(f*n+g*p+
j*a);c[14]=-(b*n+e*p+l*a);c[15]=1;return c},fromRotationTranslation:function(a,b,e){e||(e=y.create());var c=a[0],d=a[1],k=a[2],h=a[3],f=c+c,g=d+d,j=k+k;a=c*f;var l=c*g,c=c*j,m=d*g,d=d*j,k=k*j,f=h*f,g=h*g,h=h*j;e[0]=1-(m+k);e[1]=l+h;e[2]=c-g;e[3]=0;e[4]=l-h;e[5]=1-(a+k);e[6]=d+f;e[7]=0;e[8]=c+g;e[9]=d-f;e[10]=1-(a+m);e[11]=0;e[12]=b[0];e[13]=b[1];e[14]=b[2];e[15]=1;return e},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+
a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+"]"}},s={create:function(a){var b=new l(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b[0]=b[1]=b[2]=b[3]=0;return b},createFrom:function(a,b,e,c){var d=new l(4);d[0]=a;d[1]=b;d[2]=e;d[3]=c;return d},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},equal:function(a,b){return a===b||1E-6>Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])&&1E-6>Math.abs(a[2]-b[2])&&1E-6>Math.abs(a[3]-b[3])},identity:function(a){a||(a=s.create());
a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a}},O=s.identity();s.calculateW=function(a,b){var e=a[0],c=a[1],d=a[2];if(!b||a===b)return a[3]=-Math.sqrt(Math.abs(1-e*e-c*c-d*d)),a;b[0]=e;b[1]=c;b[2]=d;b[3]=-Math.sqrt(Math.abs(1-e*e-c*c-d*d));return b};s.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};s.inverse=function(a,b){var e=a[0],c=a[1],d=a[2],f=a[3],e=(e=e*e+c*c+d*d+f*f)?1/e:0;if(!b||a===b)return a[0]*=-e,a[1]*=-e,a[2]*=-e,a[3]*=e,a;b[0]=-a[0]*e;b[1]=-a[1]*e;b[2]=-a[2]*e;b[3]=a[3]*e;
return b};s.conjugate=function(a,b){if(!b||a===b)return a[0]*=-1,a[1]*=-1,a[2]*=-1,a;b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=a[3];return b};s.length=function(a){var b=a[0],e=a[1],c=a[2];a=a[3];return Math.sqrt(b*b+e*e+c*c+a*a)};s.normalize=function(a,b){b||(b=a);var e=a[0],c=a[1],d=a[2],f=a[3],h=Math.sqrt(e*e+c*c+d*d+f*f);if(0===h)return b[0]=0,b[1]=0,b[2]=0,b[3]=0,b;h=1/h;b[0]=e*h;b[1]=c*h;b[2]=d*h;b[3]=f*h;return b};s.add=function(a,b,e){if(!e||a===e)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a[3]+=
b[3],a;e[0]=a[0]+b[0];e[1]=a[1]+b[1];e[2]=a[2]+b[2];e[3]=a[3]+b[3];return e};s.multiply=function(a,b,e){e||(e=a);var c=a[0],d=a[1],f=a[2];a=a[3];var h=b[0],g=b[1],j=b[2];b=b[3];e[0]=c*b+a*h+d*j-f*g;e[1]=d*b+a*g+f*h-c*j;e[2]=f*b+a*j+c*g-d*h;e[3]=a*b-c*h-d*g-f*j;return e};s.multiplyVec3=function(a,b,e){e||(e=b);var c=b[0],d=b[1],f=b[2];b=a[0];var h=a[1],g=a[2];a=a[3];var j=a*c+h*f-g*d,l=a*d+g*c-b*f,m=a*f+b*d-h*c,c=-b*c-h*d-g*f;e[0]=j*a+c*-b+l*-g-m*-h;e[1]=l*a+c*-h+m*-b-j*-g;e[2]=m*a+c*-g+j*-h-l*-b;
return e};s.scale=function(a,b,e){if(!e||a===e)return a[0]*=b,a[1]*=b,a[2]*=b,a[3]*=b,a;e[0]=a[0]*b;e[1]=a[1]*b;e[2]=a[2]*b;e[3]=a[3]*b;return e};s.toMat3=function(a,b){b||(b=F.create());var e=a[0],c=a[1],d=a[2],f=a[3],h=e+e,g=c+c,j=d+d,l=e*h,m=e*g,e=e*j,n=c*g,c=c*j,d=d*j,h=f*h,g=f*g,f=f*j;b[0]=1-(n+d);b[1]=m+f;b[2]=e-g;b[3]=m-f;b[4]=1-(l+d);b[5]=c+h;b[6]=e+g;b[7]=c-h;b[8]=1-(l+n);return b};s.toMat4=function(a,b){b||(b=y.create());var e=a[0],c=a[1],d=a[2],f=a[3],g=e+e,j=c+c,l=d+d,m=e*g,n=e*j,e=e*
l,p=c*j,c=c*l,d=d*l,g=f*g,j=f*j,f=f*l;b[0]=1-(p+d);b[1]=n+f;b[2]=e-j;b[3]=0;b[4]=n-f;b[5]=1-(m+d);b[6]=c+g;b[7]=0;b[8]=e+j;b[9]=c-g;b[10]=1-(m+p);b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b};s.slerp=function(a,b,c,d){d||(d=a);var f=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3],g,h;if(1<=Math.abs(f))return d!==a&&(d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3]),d;g=Math.acos(f);h=Math.sqrt(1-f*f);if(0.001>Math.abs(h))return d[0]=0.5*a[0]+0.5*b[0],d[1]=0.5*a[1]+0.5*b[1],d[2]=0.5*a[2]+0.5*b[2],d[3]=0.5*a[3]+
0.5*b[3],d;f=Math.sin((1-c)*g)/h;c=Math.sin(c*g)/h;d[0]=a[0]*f+b[0]*c;d[1]=a[1]*f+b[1]*c;d[2]=a[2]*f+b[2]*c;d[3]=a[3]*f+b[3]*c;return d};s.fromRotationMatrix=function(a,b){b||(b=s.create());var c=a[0]+a[4]+a[8],d;if(0<c)d=Math.sqrt(c+1),b[3]=0.5*d,d=0.5/d,b[0]=(a[7]-a[5])*d,b[1]=(a[2]-a[6])*d,b[2]=(a[3]-a[1])*d;else{d=s.fromRotationMatrix.s_iNext=s.fromRotationMatrix.s_iNext||[1,2,0];c=0;a[4]>a[0]&&(c=1);a[8]>a[3*c+c]&&(c=2);var f=d[c],g=d[f];d=Math.sqrt(a[3*c+c]-a[3*f+f]-a[3*g+g]+1);b[c]=0.5*d;d=
0.5/d;b[3]=(a[3*g+f]-a[3*f+g])*d;b[f]=(a[3*f+c]+a[3*c+f])*d;b[g]=(a[3*g+c]+a[3*c+g])*d}return b};F.toQuat4=s.fromRotationMatrix;var D=F.create();s.fromAxes=function(a,b,c,d){D[0]=b[0];D[3]=b[1];D[6]=b[2];D[1]=c[0];D[4]=c[1];D[7]=c[2];D[2]=a[0];D[5]=a[1];D[8]=a[2];return s.fromRotationMatrix(D,d)};s.identity=function(a){a||(a=s.create());a[0]=0;a[1]=0;a[2]=0;a[3]=1;return a};s.fromAngleAxis=function(a,b,c){c||(c=s.create());a*=0.5;var d=Math.sin(a);c[3]=Math.cos(a);c[0]=d*b[0];c[1]=d*b[1];c[2]=d*b[2];
return c};s.toAngleAxis=function(a,b){b||(b=a);var c=a[0]*a[0]+a[1]*a[1]+a[2]*a[2];0<c?(b[3]=2*Math.acos(a[3]),c=g.invsqrt(c),b[0]=a[0]*c,b[1]=a[1]*c,b[2]=a[2]*c):(b[3]=0,b[0]=1,b[1]=0,b[2]=0);return b};s.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"};var M={create:function(a){var b=new l(2);a?(b[0]=a[0],b[1]=a[1]):(b[0]=0,b[1]=0);return b},createFrom:function(a,b){var c=new l(2);c[0]=a;c[1]=b;return c},add:function(a,b,c){c||(c=b);c[0]=a[0]+b[0];c[1]=a[1]+b[1];return c},subtract:function(a,
b,c){c||(c=b);c[0]=a[0]-b[0];c[1]=a[1]-b[1];return c},multiply:function(a,b,c){c||(c=b);c[0]=a[0]*b[0];c[1]=a[1]*b[1];return c},divide:function(a,b,c){c||(c=b);c[0]=a[0]/b[0];c[1]=a[1]/b[1];return c},scale:function(a,b,c){c||(c=a);c[0]=a[0]*b;c[1]=a[1]*b;return c},dist:function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return Math.sqrt(c*c+d*d)},set:function(a,b){b[0]=a[0];b[1]=a[1];return b},equal:function(a,b){return a===b||1E-6>Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])},negate:function(a,b){b||(b=a);
b[0]=-a[0];b[1]=-a[1];return b},normalize:function(a,b){b||(b=a);var c=a[0]*a[0]+a[1]*a[1];0<c?(c=Math.sqrt(c),b[0]=a[0]/c,b[1]=a[1]/c):b[0]=b[1]=0;return b},cross:function(a,b,c){a=a[0]*b[1]-a[1]*b[0];if(!c)return a;c[0]=c[1]=0;c[2]=a;return c},length:function(a){var b=a[0];a=a[1];return Math.sqrt(b*b+a*a)},squaredLength:function(a){var b=a[0];a=a[1];return b*b+a*a},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]},direction:function(a,b,c){c||(c=a);var d=a[0]-b[0];a=a[1]-b[1];b=d*d+a*a;if(!b)return c[0]=
0,c[1]=0,c[2]=0,c;b=1/Math.sqrt(b);c[0]=d*b;c[1]=a*b;return c},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);return d},str:function(a){return"["+a[0]+", "+a[1]+"]"}},L={create:function(a){var b=new l(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):b[0]=b[1]=b[2]=b[3]=0;return b},createFrom:function(a,b,c,d){var f=new l(4);f[0]=a;f[1]=b;f[2]=c;f[3]=d;return f},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},equal:function(a,b){return a===b||1E-6>
Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])&&1E-6>Math.abs(a[2]-b[2])&&1E-6>Math.abs(a[3]-b[3])},identity:function(a){a||(a=L.create());a[0]=1;a[1]=0;a[2]=0;a[3]=1;return a},transpose:function(a,b){if(!b||a===b){var c=a[1];a[1]=a[2];a[2]=c;return a}b[0]=a[0];b[1]=a[2];b[2]=a[1];b[3]=a[3];return b},determinant:function(a){return a[0]*a[3]-a[2]*a[1]},inverse:function(a,b){b||(b=a);var c=a[0],d=a[1],f=a[2],g=a[3],h=c*g-f*d;if(!h)return null;h=1/h;b[0]=g*h;b[1]=-d*h;b[2]=-f*h;b[3]=c*h;return b},multiply:function(a,
b,c){c||(c=a);var d=a[0],f=a[1],g=a[2];a=a[3];c[0]=d*b[0]+f*b[2];c[1]=d*b[1]+f*b[3];c[2]=g*b[0]+a*b[2];c[3]=g*b[1]+a*b[3];return c},rotate:function(a,b,c){c||(c=a);var d=a[0],f=a[1],g=a[2];a=a[3];var h=Math.sin(b);b=Math.cos(b);c[0]=d*b+f*h;c[1]=d*-h+f*b;c[2]=g*b+a*h;c[3]=g*-h+a*b;return c},multiplyVec2:function(a,b,c){c||(c=b);var d=b[0];b=b[1];c[0]=d*a[0]+b*a[1];c[1]=d*a[2]+b*a[3];return c},scale:function(a,b,c){c||(c=a);var d=a[1],f=a[2],g=a[3],h=b[0];b=b[1];c[0]=a[0]*h;c[1]=d*b;c[2]=f*h;c[3]=
g*b;return c},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}},N={create:function(a){var b=new l(4);a?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]):(b[0]=0,b[1]=0,b[2]=0,b[3]=0);return b},createFrom:function(a,b,c,d){var f=new l(4);f[0]=a;f[1]=b;f[2]=c;f[3]=d;return f},add:function(a,b,c){c||(c=b);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c},subtract:function(a,b,c){c||(c=b);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c},multiply:function(a,
b,c){c||(c=b);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];c[3]=a[3]*b[3];return c},divide:function(a,b,c){c||(c=b);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/b[2];c[3]=a[3]/b[3];return c},scale:function(a,b,c){c||(c=a);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c},set:function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b},equal:function(a,b){return a===b||1E-6>Math.abs(a[0]-b[0])&&1E-6>Math.abs(a[1]-b[1])&&1E-6>Math.abs(a[2]-b[2])&&1E-6>Math.abs(a[3]-b[3])},negate:function(a,b){b||
(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b},length:function(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)},squaredLength:function(a){var b=a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a},lerp:function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);d[2]=a[2]+c*(b[2]-a[2]);d[3]=a[3]+c*(b[3]-a[3]);return d},str:function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}};c&&(c.glMatrixArrayType=l,c.MatrixArray=l,c.setMatrixArrayType=d,c.determineMatrixArrayType=
f,c.glMath=g,c.vec2=M,c.vec3=j,c.vec4=N,c.mat2=L,c.mat3=F,c.mat4=y,c.quat4=s);return{glMatrixArrayType:l,MatrixArray:l,setMatrixArrayType:d,determineMatrixArrayType:f,glMath:g,vec2:M,vec3:j,vec4:N,mat2:L,mat3:F,mat4:y,quat4:s}});PIXI=PIXI||{};PIXI.shaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * vColor;","}"];
PIXI.shaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform mat4 uMVMatrix;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","gl_Position = uMVMatrix * vec4(aVertexPosition, 1.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"];
PIXI.CompileVertexShader=function(c,d){for(var f="",g=0;g<d.length;g++)f+=d[g];g=c.createShader(c.VERTEX_SHADER);c.shaderSource(g,f);c.compileShader(g);return!c.getShaderParameter(g,c.COMPILE_STATUS)?(alert(c.getShaderInfoLog(g)),null):g};PIXI.CompileFragmentShader=function(c,d){for(var f="",g=0;g<d.length;g++)f+=d[g];g=c.createShader(c.FRAGMENT_SHADER);c.shaderSource(g,f);c.compileShader(g);return!c.getShaderParameter(g,c.COMPILE_STATUS)?(alert(c.getShaderInfoLog(g)),null):g};PIXI=PIXI||{};PIXI._defaultFrame={x:0,y:0,width:1,height:1};
PIXI.WebGLRenderer=function(c,d){this.width=c?c:800;this.height=d?d:600;this.view=document.createElement("canvas");this.view.width=this.width;this.view.height=this.height;this.view.background="#FF0000";var f=this;this.view.addEventListener("webglcontextlost",function(c){f.handleContextLost(c)},!1);this.view.addEventListener("webglcontextrestored",function(c){f.handleContextRestored(c)},!1);this.batchs=[];try{this.gl=this.view.getContext("experimental-webgl",{alpha:!1})}catch(g){alert("Web GL only im afraid :/")}this.initShaders();
var m=this.gl;this.batch=new PIXI.WebGLBatch(m);m.disable(m.DEPTH_TEST);m.enable(m.BLEND);m.colorMask(!0,!0,!0,!1);this.projectionMatrix=mat4.create();this.resize(this.width,this.height);this.contextLost=!1};PIXI.WebGLRenderer.constructor=PIXI.WebGLRenderer;
PIXI.WebGLRenderer.prototype.initShaders=function(){var c=this.gl,d=PIXI.CompileFragmentShader(c,PIXI.shaderFragmentSrc),f=PIXI.CompileVertexShader(c,PIXI.shaderVertexSrc),g=this.shaderProgram=c.createProgram();c.attachShader(g,f);c.attachShader(g,d);c.linkProgram(g);c.getProgramParameter(g,c.LINK_STATUS)||alert("Could not initialise shaders");c.useProgram(g);g.vertexPositionAttribute=c.getAttribLocation(g,"aVertexPosition");c.enableVertexAttribArray(g.vertexPositionAttribute);g.textureCoordAttribute=
c.getAttribLocation(g,"aTextureCoord");c.enableVertexAttribArray(g.textureCoordAttribute);g.colorAttribute=c.getAttribLocation(g,"aColor");c.enableVertexAttribArray(g.colorAttribute);g.mvMatrixUniform=c.getUniformLocation(g,"uMVMatrix");g.samplerUniform=c.getUniformLocation(g,"uSampler");PIXI.shaderProgram=this.shaderProgram};
PIXI.WebGLRenderer.prototype.render=function(c){if(!this.contextLost){for(var d=0;d<c.__childrenRemoved.length;d++)this.removeDisplayObject(c.__childrenRemoved[d]);for(d=0;d<c.__childrenAdded.length;d++)this.addDisplayObject(c.__childrenAdded[d]);for(d=0;d<PIXI.texturesToUpdate.length;d++)this.updateTexture(PIXI.texturesToUpdate[d]);c.__childrenRemoved=[];c.__childrenAdded=[];PIXI.texturesToUpdate=[];c.updateTransform();var f=this.gl;f.clear(f.COLOR_BUFFER_BIT);f.clearColor(1,1,1,1);f.blendFunc(f.ONE,
f.ONE_MINUS_SRC_ALPHA);f.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,this.projectionMatrix);if(this.refreshBatchs){for(d=0;d<this.batchs.length;d++)this.batchs[d].dirty&&PIXI._returnBatch(this.batchs[d]);this.batchs=[];this.currentBatch=PIXI._getBatch(f);this.collectBatchs(c);this.currentBatch&&(this.currentBatch.cache(),this.batchs.push(this.currentBatch));this.refreshBatchs=!1}this.updateDisplayObjects(c);for(d=0;d<this.batchs.length;d++)this.batchs[d].render()}};
PIXI.WebGLRenderer.prototype.updateDisplayObjects=function(c){for(var d,f,g,m,p,l,j,x,n,z,A,H;c;){if(!c.visible&&(c=c.parent[c.childIndex+1],!c))continue;c.sprite&&(d=c.batch.verticies,g=c.width,m=c.height,p=c.anchor.x,l=c.anchor.y,j=g*(1-p),g*=-p,p=m*(1-l),l=m*-l,m=8*c.index,f=c.worldTransform,x=f[0],n=f[3],z=f[1],A=f[4],H=f[2],f=f[5],d[m+0]=x*g+z*l+H,d[m+1]=A*l+n*g+f,d[m+2]=x*j+z*l+H,d[m+3]=A*l+n*j+f,d[m+4]=x*j+z*p+H,d[m+5]=A*p+n*j+f,d[m+6]=x*g+z*p+H,d[m+7]=A*p+n*g+f,c.updateFrame&&(c.batch.dirtyUVS=
!0,j=c.frame,g=c.texture.width,p=c.texture.height,d=c.batch.uvs,d[m+0]=j.x/g,d[m+1]=j.y/p,d[m+2]=(j.x+j.width)/g,d[m+3]=j.y/p,d[m+4]=(j.x+j.width)/g,d[m+5]=(j.y+j.height)/p,d[m+6]=j.x/g,d[m+7]=(j.y+j.height)/p,c.updateFrame=!1),c.cacheAlpha!=c.alpha&&(c.cacheAlpha=c.alpha,j=4*c.index,d=c.batch.colors,d[j]=d[j+1]=d[j+2]=d[j+3]=c.alpha,c.batch.dirtyColors=!0),c.cacheVisible!=c.visible&&(c.cacheVisible=c.visible,this.refreshBatchs=c.batch.dirty=!0));c=c._next}};
PIXI.WebGLRenderer.prototype.collectBatchs=function(c){for(var d=this.currentBatch,f=this.gl,g=d.uvs,m=d.colors,p=d.indicies,l,j,x;c;){if(!c.visible&&(c=c.parent[c.childIndex+1],!c)){this.currentBatch=null;break}if(c.sprite){if(d.texture!=c.texture){d.cache();this.batchs.push(d);for(d=!1;!d;){d=!0;if(!c){this.currentBatch=null;return}c.batch&&!c.batch.dirty&&(this.batchs.push(c.batch),c=c.batch.last._next,d=!1)}d=this.currentBatch=PIXI._getBatch(f);g=d.uvs;m=d.colors;p=d.indicies;d.texture=c.texture}c.index=
d.size;l=8*d.size;j=6*d.size;x=4*d.size;index4=4*d.size;var n=c.frame,z=c.texture.width,A=c.texture.height;n||(n=PIXI._defaultFrame);g[l+0]=n.x/z;g[l+1]=n.y/A;g[l+2]=(n.x+n.width)/z;g[l+3]=n.y/A;g[l+4]=(n.x+n.width)/z;g[l+5]=(n.y+n.height)/A;g[l+6]=n.x/z;g[l+7]=(n.y+n.height)/A;m[index4]=m[index4+1]=m[index4+2]=m[index4+3]=c.alpha;p[j+0]=x+0;p[j+1]=x+1;p[j+2]=x+2;p[j+3]=x+0;p[j+4]=x+2;p[j+5]=x+3;d.last=c;d.size++}c.batch=d;d.last=c;c=c._next}};
PIXI.WebGLRenderer.prototype.updateTexture=function(c){var d=this.gl;c._glTexture||(c._glTexture=d.createTexture());c.hasLoaded&&(d.bindTexture(d.TEXTURE_2D,c._glTexture),d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),d.texImage2D(d.TEXTURE_2D,0,d.RGBA,d.RGBA,d.UNSIGNED_BYTE,c.image),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.LINEAR),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,
d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE),d.generateMipmap(d.TEXTURE_2D),d.bindTexture(d.TEXTURE_2D,null));this.refreshBatchs=!0};
PIXI.WebGLRenderer.prototype.addDisplayObject=function(c){c.batch=null;c.cacheVisible=c.visible;var d;if(0==c.childIndex)d=c.parent;else for(d=c.parent.children[c.childIndex-1];0!=d.children.length;)d=d.children[d.children.length-1];var f=d._next;d._next=c;c._prev=d;f&&(c._next=f,f._prev=c);if(c.sprite){if((d=c._prev.batch)&&d.texture==c.texture)d.dirty=!0;if(c._next&&(c=c._next.batch)&&c.texture==c.texture)c.dirty=!0;this.refreshBatchs=!0}};
PIXI.WebGLRenderer.prototype.removeDisplayObject=function(c){var d=c.batch;d&&(d.dirty=!0);c._prev&&(c._prev._next=c._next);c._next&&(c._next._prev=c._prev);c.batch=null;this.refreshBatchs=!0};
PIXI.WebGLRenderer.prototype.resize=function(c,d){this.width=c;this.height=d;this.view.width=c;this.view.height=d;this.gl.viewport(0,0,this.width,this.height);mat4.identity(this.projectionMatrix);mat4.scale(this.projectionMatrix,[2/this.width,-2/this.height,1]);mat4.translate(this.projectionMatrix,[-this.width/2,-this.height/2,0])};PIXI.WebGLRenderer.prototype.handleContextLost=function(c){c.preventDefault();this.contextLost=!0};
PIXI.WebGLRenderer.prototype.handleContextRestored=function(){this.gl=this.view.getContext("experimental-webgl",{alpha:!0});this.initShaders();for(var c=0;c<PIXI.TextureCache.length;c++)this.updateTexture(PIXI.TextureCache[c]);for(c=0;c<this.batchs.length;c++)this.batchs[c].restoreLostContext(this.gl),this.batchs[c].dirty=!0;PIXI._restoreBatchs(this.gl);this.contextLost=!1};PIXI=PIXI||{};PIXI.CanvasRenderer=function(c,d){this.width=c?c:800;this.height=d?d:600;this.refresh=!0;this.view=document.createElement("canvas");this.view.width=this.width;this.view.height=this.height;this.view.background="#FF0000";this.context=this.view.getContext("2d")};PIXI.CanvasRenderer.constructor=PIXI.CanvasRenderer;
PIXI.CanvasRenderer.prototype.render=function(c){c.__childrenAdded=[];PIXI.texturesToUpdate=[];c.updateTransform();this.context.setTransform(1,0,0,1,0,0);this.context.clearRect(0,0,this.width,this.height);this.renderDisplayObject(c)};
PIXI.CanvasRenderer.prototype.renderDisplayObject=function(c){if(c.visible){if(c.sprite){var d=c.worldTransform,f=c.frame;f&&(this.context.globalAlpha=c.worldAlpha,this.context.setTransform(d[0],d[3],d[1],d[4],d[2],d[5]),this.context.drawImage(c.texture.image,f.x,f.y,f.width,f.height,c.anchor.x*-f.width,c.anchor.y*-f.height,f.width,f.height))}for(d=0;d<c.children.length;d++)this.renderDisplayObject(c.children[d])}};
PIXI.CanvasRenderer.prototype.resize=function(c,d){this.width=c;this.height=d;this.view.width=c;this.view.height=d};PIXI=PIXI||{};PIXI._defaultFrame={x:0,y:0,width:1,height:1};PIXI.DOMRenderer=function(c,d){this.width=c?c:800;this.height=d?d:600;this.view=document.createElement("div");this.view.style.width=this.width+"px";this.view.style.height=this.height+"px";this.view.style.background="#FF0000";this.view.style["-webkit-transform"]="translateZ(0)";this.resize(this.width,this.height)};PIXI.DOMRenderer.constructor=PIXI.DOMRenderer;
PIXI.DOMRenderer.prototype.render=function(c){for(var d=0;d<c.__childrenRemoved.length;d++)this.removeDisplayObject(c.__childrenRemoved[d]);for(d=0;d<c.__childrenAdded.length;d++)this.addDisplayObject(c.__childrenAdded[d]);for(d=0;d<PIXI.texturesToUpdate.length;d++)this.updateTexture(PIXI.texturesToUpdate[d]);c.__childrenRemoved=[];c.__childrenAdded=[];PIXI.texturesToUpdate=[];c.updateTransform();this.renderDisplayObject(c)};PIXI.DOMRenderer.prototype.updateTexture=function(){};
PIXI.DOMRenderer.prototype.renderDisplayObject=function(c){if(c.visible){if(c.sprite){var d=c.worldTransform;c.frame&&(c._div.style["-webkit-transform"]="matrix("+d[0]+", "+d[3]+","+d[1]+","+d[4]+","+d[2]+","+d[5]+")")}for(d=0;d<c.children.length;d++)this.renderDisplayObject(c.children[d])}};PIXI.DOMRenderer.prototype.addDisplayObject=function(c){if(c.sprite&&!c._div){var d=document.createElement("img");d.src=c.texture.imageUrl;d.style.cssText="position:absolute;";c._div=d;this.view.appendChild(d)}};
PIXI.DOMRenderer.prototype.removeDisplayObject=function(){};PIXI.DOMRenderer.prototype.resize=function(c,d){this.width=c;this.height=d;this.view.style.width=this.width+"px";this.view.style.height=this.height+"px"};PIXI=PIXI||{};PIXI.DisplayObject=function(){this.position={x:0,y:0};this.scale={x:1,y:1};this.rotation=0;this.dynamic=!0;this.alpha=1;this.color=[];this.worldAlpha=1;this.visible=!0;this.worldTransform=mat3.identity();this.localTransform=mat3.identity();this.parent;this.stage;this._sr=0;this._cr=1};PIXI.DisplayObject.constructor=Object.create(PIXI.DisplayObject.prototype);
PIXI.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCach=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));this.localTransform[0]=this._cr*this.scale.x;this.localTransform[1]=-this._sr*this.scale.y;this.localTransform[3]=this._sr*this.scale.x;this.localTransform[4]=this._cr*this.scale.y;this.localTransform[2]=this.position.x;this.localTransform[5]=this.position.y;mat3.multiply(this.localTransform,this.parent.worldTransform,
this.worldTransform);this.worldAlpha=this.alpha*this.parent.worldAlpha};PIXI=PIXI||{};PIXI._batchs=[];PIXI._getBatch=function(c){return 0==PIXI._batchs.length?new PIXI.WebGLBatch(c):PIXI._batchs.pop()};PIXI._returnBatch=function(c){c.clean();PIXI._batchs.push(c)};PIXI._restoreBatchs=function(c){for(var d=0;d<PIXI._batchs.length;d++)PIXI._batchs[d].restoreLostContext(c)};
PIXI.WebGLBatch=function(c){this.gl=c;this.size=0;this.verticies=[];this.uvs=[];this.indicies=[];this.colors=[];this.texture;this.vertexBuffer=c.createBuffer();this.indexBuffer=c.createBuffer();this.uvBuffer=c.createBuffer();this.colorBuffer=c.createBuffer()};PIXI.WebGLBatch.constructor=PIXI.WebGLBatch;PIXI.WebGLBatch.prototype.clean=function(){this.verticies=[];this.uvs=[];this.indicies=[];this.colors=[];this.last=this.texture=null;this.size=0};
PIXI.WebGLBatch.prototype.restoreLostContext=function(c){this.gl=c;this.vertexBuffer=c.createBuffer();this.indexBuffer=c.createBuffer();this.uvBuffer=c.createBuffer();this.colorBuffer=c.createBuffer()};
PIXI.WebGLBatch.prototype.render=function(){if(0!=this.size){var c=this.gl,d=PIXI.shaderProgram;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer);c.bufferData(c.ARRAY_BUFFER,this.verticies,c.STATIC_DRAW);c.vertexAttribPointer(d.vertexPositionAttribute,2,c.FLOAT,!1,0,0);c.bindBuffer(c.ARRAY_BUFFER,this.uvBuffer);this.dirtyUVS&&(this.dirtyUVS=!1,c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW));c.vertexAttribPointer(d.textureCoordAttribute,2,c.FLOAT,!1,0,0);c.activeTexture(c.TEXTURE0);c.bindTexture(c.TEXTURE_2D,
this.texture._glTexture);c.bindBuffer(c.ARRAY_BUFFER,this.colorBuffer);this.dirtyColors&&c.bufferData(c.ARRAY_BUFFER,this.colors,c.STATIC_DRAW);c.vertexAttribPointer(d.colorAttribute,1,c.FLOAT,!1,0,0);c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer);c.drawElements(c.TRIANGLES,6*this.size,c.UNSIGNED_SHORT,0)}};
PIXI.WebGLBatch.prototype.cache=function(){var c=this.gl;c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer);c.bufferData(c.ELEMENT_ARRAY_BUFFER,new Uint16Array(this.indicies),c.STATIC_DRAW);this.dirtyUVS=!0;this.uvs=new Float32Array(this.uvs);this.verticies=new Float32Array(8*this.size);this.colors=new Float32Array(this.colors)};PIXI=PIXI||{};PIXI.DisplayObjectContainer=function(){PIXI.DisplayObject.call(this);this.children=[]};PIXI.DisplayObjectContainer.constructor=PIXI.DisplayObjectContainer;PIXI.DisplayObjectContainer.protoype=Object.create(PIXI.DisplayObject.prototype);PIXI.DisplayObjectContainer.prototype.updateTransform=function(){PIXI.DisplayObject.prototype.updateTransform.call(this);for(var c=0,d=this.children.length;c<d;c++)this.children[c].updateTransform()};
PIXI.DisplayObjectContainer.prototype.addChild=function(c){void 0!=c.parent&&c.parent.removeChild(c);c.parent=this;c.childIndex=this.children.length;this.children.push(c);this.stage&&this.stage.__addChild(c)};PIXI.DisplayObjectContainer.prototype.removeChild=function(c){var d=this.children.indexOf(c);-1!==d&&(this.stage.__removeChild(c),c.parent=void 0,this.children.splice(d,1))};PIXI=PIXI||{};PIXI.Stage=function(){PIXI.DisplayObjectContainer.call(this);this.worldTransform=mat3.identity();this.__childrenAdded=[];this.__childrenRemoved=[];this.childIndex=0;this.stage=this};PIXI.Stage.constructor=PIXI.Stage;PIXI.Stage.prototype=Object.create(PIXI.DisplayObjectContainer.prototype);PIXI.Stage.prototype.updateTransform=function(){this.worldAlpha=1;for(var c=0,d=this.children.length;c<d;c++)this.children[c].updateTransform()};
PIXI.Stage.prototype.__addChild=function(c){this.__childrenAdded.push(c);c.stage=this;for(var d=0;d<c.children.length;d++)this.__addChild(c.children[d])};PIXI.Stage.prototype.__removeChild=function(c){this.__childrenRemoved.push(c);c.stage=void 0;for(var d=0,f=c.children.length;d<f;d++)this.__removeChild(c.children[d])};PIXI=PIXI||{};PIXI.Sprite=function(c,d){PIXI.DisplayObjectContainer.call(this);this.anchor={x:0,y:0};this.sprite=!0;this.texture=c;this.frame=d;this.height=this.width=1;c.hasLoaded&&(d||(d={x:0,y:0,width:c.width,height:c.height}),this.setFrame(d));var f=this;c.addEventListener("loaded",function(){f.frame||(f.frame={x:0,y:0,width:c.width,height:c.height});f.width=f.frame.width;f.height=f.frame.height;f.updateFrame=!0})};PIXI.Sprite.constructor=PIXI.Sprite;PIXI.Sprite.prototype=Object.create(PIXI.DisplayObjectContainer.prototype);
PIXI.Sprite.prototype.setFrame=function(c){this.frame=c;this.width=c.width;this.height=c.height;this.updateFrame=!0};PIXI.Sprite.spriteFromFrame=function(c){c=PIXI.FrameCache[c];return new PIXI.Sprite(PIXI.TextureCache[c.texture],{x:c.x,y:c.y,width:c.width,height:c.height})};PIXI.Sprite.spriteFromTexture=function(){return new PIXI.Sprite(PIXI.TextureCache[frameData.texture])};PIXI=PIXI||{};PIXI.MovieClip=function(c,d){PIXI.Sprite.call(this,c,d[0]);this.frames=d;this.framePosition=0;this.speed=1};PIXI.MovieClip.constructor=PIXI.MovieClip;PIXI.MovieClip.prototype=Object.create(PIXI.Sprite.prototype);PIXI.MovieClip.prototype.updateTransform=function(){PIXI.Sprite.prototype.updateTransform.call(this);this.framePosition+=this.speed;this.setFrame(this.frames[Math.round(this.framePosition)%this.frames.length])};PIXI=PIXI||{};PIXI.TextureCache={};PIXI.FrameCache={};PIXI.texturesToUpdate=[];PIXI.Texture=function(c){PIXI.EventTarget.call(this);this.imageUrl=c;this.frame={x:0,y:0,width:1,height:1};this.hasLoaded=!1;this.image=new Image;this.image.onload=$.proxy(this.onImageLoaded,this);this.image.src=c;this.height=this.width=100;PIXI.TextureCache[c]=this};
PIXI.Texture.prototype.onImageLoaded=function(){this.hasLoaded=!0;this.width=this.image.width;this.height=this.image.height;PIXI.texturesToUpdate.push(this);this.dispatchEvent({type:"loaded",content:this})};PIXI.Texture.getTexture=function(c){var d=PIXI.TextureCache[c];d||(d=new PIXI.Texture(c));return d};PIXI=PIXI||{};PIXI.autoDetectRenderer=function(c,d){var f;try{f=!!window.WebGLRenderingContext&&!!document.createElement("canvas").getContext("experimental-webgl")}catch(g){f=!1}console.log(f);return f?new PIXI.WebGLRenderer(c,d):new PIXI.CanvasRenderer(c,d)};PIXI=PIXI||{};PIXI.SpriteSheetLoader=function(c){PIXI.EventTarget.call(this);this.url=c;this.baseUrl=c.replace(/[^\/]*$/,"");this.texture;this.frames={}};PIXI.SpriteSheetLoader.constructor=PIXI.SpriteSheetLoader;PIXI.SpriteSheetLoader.prototype.load=function(){this.ajaxRequest=new AjaxRequest;var c=this;this.ajaxRequest.onreadystatechange=function(){c.onLoaded()};this.ajaxRequest.open("GET",this.url,!0);this.ajaxRequest.send(null)};
PIXI.SpriteSheetLoader.prototype.onLoaded=function(){if(4==this.ajaxRequest.readyState&&(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))){var c=eval("("+this.ajaxRequest.responseText+")"),d=this.baseUrl+c.meta.image;this.texture=PIXI.TextureCache[d];this.texture||(this.texture=new PIXI.Texture(d));var c=c.frames,f;for(f in c){var g=c[f].frame;this.frames[f]={x:g.x,y:g.y,width:g.w,height:g.h,texture:d};PIXI.FrameCache[f]=this.frames[f]}this.dispatchEvent({type:"loaded",content:this})}};PIXI=PIXI||{};PIXI.AssetLoader=function(c){PIXI.EventTarget.call(this);this.assetURLs=c;this.assets=[]};PIXI.AssetLoader.constructor=PIXI.AssetLoader;
PIXI.AssetLoader.prototype.load=function(){this.loadCount=this.assetURLs.length;for(var c=["jpeg","jpg","png","gif"],d=["json"],f=0;f<this.assetURLs.length;f++){for(var g=this.assetURLs[f],m=g.split(".").pop().toLowerCase(),p,f=0;f<c.length;f++)if(m==c[f]){p="img";break}if(!p)for(f=0;f<d.length;f++)if(m==d[f]){p="atlas";break}if("img"==p)if(g=PIXI.Texture.getTexture(g),g.hasLoaded)this.loadCount--;else{var l=this;g.addEventListener("loaded",function(){l.onAssetLoaded()});this.assets.push(g)}else"atlas"==
p?(g=new PIXI.SpriteSheetLoader(g),this.assets.push(g),l=this,g.addEventListener("loaded",function(){l.onAssetLoaded()}),g.load()):this.loadCount--}};PIXI.AssetLoader.prototype.onAssetLoaded=function(){this.loadCount--;0==this.loadCount&&this.dispatchEvent({type:"loaded",content:this})};